#pragma once

#include "CGraphics.h"
#include "utils.h"
#include "CTimer.h"

class CWindow {
public:
	CWindow(INT Width, INT Height, PCSTR name);
	~CWindow();
	CWindow(CONST CWindow&) = delete;
	CWindow& operator=(CONST CWindow&) = delete;
	
	CGraphics& GetCGraphics();

	VOID Initialize();
	VOID Frame() noexcept;

private:
	INT _Width;
	INT _Height;
	HWND _hWnd;

	HDC		hdcBackBuffer;
	HBITMAP	hBitmap;
	HBITMAP	hOldBitmap;
	std::unique_ptr<CGraphics> _Graphics;
};

extern std::unique_ptr<CWindow> _Window;

